Currently, a mainstream of a computer architecture is a Neumann type. An operation of the Neumann-type architecture is defined by a program which is a sequential instruction string. The Neumann-type architecture has such general versatility as being available for various uses by changing the program. Not only a CPU (Central Processing Unit) that plays a central role of a computer but also a specific-use arithmetic device such as a GPU (Graphics Processing Unit) is configured of the Neumann-type architecture, and its basic operation is performed by sequentially executing the instruction string.
Until now, a performance of a computer has been improved mainly depending on improvement in a clock frequency. Since a foundation of the Neumann-type architecture is to sequentially execute the instruction string, the performance improvement can be expected by increasing an execution speed of an instruction. However, in a general-purpose CPU used for a personal computer or a server, the improvement in the clock frequency has peaked out at about 3 GHz in the early 2000s. In recent years, instead of the clock frequency which has peaked out, a method of achieving the performance improvement by parallel processing based on a multi core technique has become a mainstream.
In the parallel processing by the multi core technique, the performance improvement is achieved by finding out a parallel-executable part from the sequential instruction string (by extraction of parallelism), and performing the parallel execution. However, it is not easy to extract the parallelism from a program created by writing down the sequential algorithm as the instruction string. An ILP (Instruction Level Parallelism) which extracts the parallelism on an instruction level has already reached a limit, and a trend of use of the coarser-grain parallelism such as a TLP (Thread Level Parallelism) and a DLP (Data Level Parallelism) has appeared in recent years.
In consideration of such a situation, in order to achieve the performance improvement of the computer in the future, the execution of the sequential instruction string as conventional is not put on the basic technique, and it is required to shift the technique to an essentially parallel information processing. For that, instead of a problem description method by the conventional sequential instruction string, a problem description method suitable for achieving the essentially parallel information processing is required.
As its candidate, various physical phenomena and social phenomena can be expressed by an interaction model. The interaction model is a model defined by a plurality of nodes forming the model, an interaction between the nodes, and besides, a bias for every node as needed. Various models are proposed in physics or social sciences, and all of them can be interpreted as one aspect of the interaction model. In addition, as features of the interaction model, a point that an inter-node influence is limited to an interaction between two nodes (interaction between 2 bodies) is cited. For example, when dynamics of planets in cosmic space is considered, this model can be interpreted also as one type of the interaction model in a point that the interaction caused by universal gravity exists between the nodes which are the planes. However, inter-planet influence is not limited between two planets, and three or more planets affect each other, and exhibit complicated behaviors (which becomes a problem referred to as so-called three-body problem and many-body problem).
As an example of a typical interaction model in the field of physics, an Ising model can be cited. The Ising model is a model of statistical mechanics for describing behavior of a magnetic substance, and is used for research of the magnetic substance. The Ising model is defined as an interaction between sites (spins which take two values of +1/−1). It is known that acquirement of a ground state of the Ising model in which a topology has a non-plane graph is an NP-hard problem. In the Ising model, a problem is expressed by an interaction coefficient which is spread in a spatial direction, and therefore, there is a possibility of achievement of the information processing using the essential parallelism.
Incidentally, since the acquirement of the ground state of the Ising model is the NP-hard problem as described above, the solution by the Neumann-type computer is accompanied by a difficulty in view of computation time. While an algorithm for achieving the high speed by introducing heuristics is also proposed, a method of acquiring the ground state of the Ising model by using not the Neumann-type computer but a computation using physical phenomena more directly, that is, an analog computer has been proposed. For example, as such a device, a device described in International Publication No. WO/2012/118064 (Patent Document 1) is cited.